package cn.doitedu.dfdemo

import org.apache.spark.sql.SparkSession

/**
 * @Date 22.4.9
 * @Created by HANGGE
 * @Description
 *             这个原始文件中没有数据头
 */
object C01_MakeDF_Csv01 {
  def main(args: Array[String]): Unit = {

    val session: SparkSession = SparkSession
      .builder()
      .master("local[*]")
      .appName("获取 spark-sql环境")
      .config("", "")
      // 添加对hive的支持
      // .enableHiveSupport()
      .getOrCreate()

    val df = session.read.option("header" , true).option("inferSchema",true).csv("data/csv/Teacher2.csv")
     // 打印结构
    df.printSchema()

    /**
     * 问题  没有字段名                如果csv文件有头信息  可以 option("header" , true)
     * 问题  数据类型自动推导的不好    .option("inferSchema",true)
     * root
     * |-- _c0: string (nullable = true)
     * |-- _c1: string (nullable = true)
     * |-- _c2: string (nullable = true)
     * |-- _c3: string (nullable = true)
     * |-- _c4: string (nullable = true)
     */

    /**
     * root
     * |-- id: integer (nullable = true)
     * |-- name: string (nullable = true)
     * |-- age: integer (nullable = true)
     * |-- gender: string (nullable = true)
     * |-- city: string (nullable = true)
     */

    // 展示数据
    df.show()

    /**
     * +---+------+---+---+---+
     * |_c0|   _c1|_c2|_c3|_c4|
     * +---+------+---+---+---+
     * |  1|胡老师| 23|  M| SH|
     * |  2|刘老师| 43|  M| BJ|
     * |  3|马老师| 27|  F| SH|
     * +---+------+---+---+---+
     */

  }

}
